package service_metier;

import java.util.ArrayList;
import java.util.List;

import javax.faces.event.ActionEvent;

import model.Activite;
import model.Personne;
import model.Video;

import ctx.ContexteUtilisateur;


public class VueListePersonnes {

	private ContexteUtilisateur contexteUtilisateur;



	
	public ContexteUtilisateur getContexteUtilisateur() {
		return contexteUtilisateur;
	}

	public void setContexteUtilisateur(final ContexteUtilisateur contexteUtilisateur) {
		this.contexteUtilisateur = contexteUtilisateur;
	}	
	
			
	public void afficherAllPersonne(ActionEvent action) {
				
		contexteUtilisateur.setWatchingListeFilm(false);	
		contexteUtilisateur.setWatchingListePersonne(true);	
		contexteUtilisateur.setWatchingDetailFilm(false);
		contexteUtilisateur.setWatchingDetailPersonne(false);
		contexteUtilisateur.setWatchingModifFilm(false);
		contexteUtilisateur.setWatchingModifPersonne(false);
		contexteUtilisateur.setListePersonne(contexteUtilisateur.getListeAllPersonne());
		
	}
	
	public void afficherPersonneByActivite(ActionEvent action){
		String activite = action.getComponent().getId();
		
		List<Personne> listeSelect = new ArrayList<Personne>();
		for(Video v : contexteUtilisateur.getListeAllFilm()){
			for(Activite a :v.getListeActivite()){
				if(a.getType().equals(activite)){
					for(Personne p : a.getListePersonne()){
						if(Utilitaires.indexOf(p, listeSelect)==(-1)) listeSelect.add(p);
					}
				}
			}
		}
		
		contexteUtilisateur.setWatchingListeFilm(false);	
		contexteUtilisateur.setWatchingListePersonne(true);	
		contexteUtilisateur.setWatchingDetailFilm(false);
		contexteUtilisateur.setWatchingDetailPersonne(false);
		contexteUtilisateur.setWatchingModifFilm(false);
		contexteUtilisateur.setWatchingModifPersonne(false);
		contexteUtilisateur.setListePersonne(listeSelect);
	}
	
	public List<Personne> getListePersonne(){
		return contexteUtilisateur.getListePersonne();
	}
	
			
}
